package com.ruoyi.aero.mapper;

import java.util.List;
import com.ruoyi.aero.domain.StaffInfo;

/**
 * 员工信息Mapper接口
 * 
 * @author swb
 * @date 2024-06-04
 */
public interface StaffInfoMapper 
{
    /**
     * 查询员工信息
     * 
     * @param staffId 员工信息主键
     * @return 员工信息
     */
    public StaffInfo selectStaffInfoByStaffId(String staffId);

    /**
     * 查询员工信息
     *
     * @param staffNo 员工信息编码
     * @return 员工信息
     */
    public StaffInfo selectStaffInfoByStaffNo(String staffNo);

    /**
     * 查询员工信息
     *
     * @param phone 员工手机号
     * @return 员工信息
     */
    public StaffInfo selectStaffInfoByPhone(String phone);

    /**
     * 查询厂长信息
     *
     * @return 员工信息
     */
    public StaffInfo selectDirector();

    /**
     * 查询员工信息列表
     * 
     * @param staffInfo 员工信息
     * @return 员工信息集合
     */
    public List<StaffInfo> selectStaffInfoList(StaffInfo staffInfo);

    /**
     * 根据岗位查询员工信息列表
     *
     * @param postNo 岗位编码
     * @return 员工信息集合
     */
    public List<StaffInfo> selectStaffInfoListByPost(String postNo);

    /**
     * 查询车间负责人候选人
     *
     * @return 员工信息集合
     */
    public List<StaffInfo> selectWorkshopCandidate();

    /**
     * 查询班组负责人候选人
     *
     * @return 员工信息集合
     */
    public List<StaffInfo> selectGroupCandidate();

    /**
     * 新增员工信息
     * 
     * @param staffInfo 员工信息
     * @return 结果
     */
    public int insertStaffInfo(StaffInfo staffInfo);

    /**
     * 修改员工信息
     * 
     * @param staffInfo 员工信息
     * @return 结果
     */
    public int updateStaffInfo(StaffInfo staffInfo);

    /**
     * 删除员工信息
     * 
     * @param staffId 员工信息主键
     * @return 结果
     */
    public int deleteStaffInfoByStaffId(String staffId);

    /**
     * 批量删除员工信息
     * 
     * @param staffIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStaffInfoByStaffIds(String[] staffIds);
}
